package com.crm.system.service.followPlanManager;

import com.crm.common.model.DhPageInfo;
import com.crm.model.entity.followPlanManager.CpFollowPlan;
import com.crm.model.qo.followPlanManager.CpFollowPlanQO;
import com.crm.model.vo.followPlanManager.CpFollowPlanVO;
import com.crm.model.vo.followPlanManager.FollowPlanContactListVO;
import com.crm.model.vo.followPlanManager.FollowPlanCountVO;

/**
 * @Author: chaifuyou
 * @date 2021/3/31 16:44
 */
public interface FollowPlanService {
    /**
     * 跟进计划列表
     * @return
     */
    DhPageInfo<CpFollowPlanVO> selectFollowPlanList(CpFollowPlanQO cpFollowPlanQO, Integer pageIndex, Integer pageSize, String sortName, String sortOrder);

    /**
     * 添加跟进计划
     * @param cpFollowPlan
     */
    void addFollowPlan(CpFollowPlan cpFollowPlan);

    /**
     * 取消跟进计划
     * @param cpFollowPlanId
     * @return
     */
    boolean deleteFollowPlan(String cpFollowPlanId,Integer type);

    /**
     * 修改跟进计划
     * @param cpFollowPlan
     * @return
     */
    void updateFollowPlan(CpFollowPlan cpFollowPlan);

    /**
     * 统计日期的跟进情况
     * @param planDate
     * @return
     */
    FollowPlanCountVO getFollowPlanCount(String planDate,String startDate,String endDate);

    /**
     * 当天跟进的客户列表
     * @param planDate
     * @param pageIndex
     * @param pageSize
     * @param sortName
     * @param sortOrder
     * @return
     */
    DhPageInfo<FollowPlanContactListVO> getFollowPlanListByDate(String planDate, Integer pageIndex, Integer pageSize, String sortName, String sortOrder,String dateType,String customerId);
}
